﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Aula_4 
    //Henrique Elias
    //Lucas Bastos
    //Lucas Matheus
    //Marcio Lima
    //Vitória Fernanda
{
    public partial class Form1 : Form
    {
        public Form1()
        {

            escrevendonoarquivo escrevendo = new escrevendonoarquivo();
            InitializeComponent();

        }

        public void Form1_Load(object sender, EventArgs e)
        {
            Random random = new Random();

            int Terreno;
            int limite = 100;
            int matrizx = 10;
            int matrizy = 10;
            int y = 0;
            int x = 0;
            int AleatorioAgua = random.Next(30, 76);
            int AleatorioMontanha = random.Next(14, 76);
            int AleatorioPartida = random.Next(0, 9);
            int AleatorioChegada = random.Next(90, 99);
            int posicao = 0;

            Button[,] buttons = new Button[matrizx, matrizy];

            for (int contador = 0; contador < limite; contador++)
            {

                Button A = new Button();
                A.Left = posicao;
                A.Width = 66;
                buttons[x, y] = A;
                Controls.Add(A);
                A.Height = 66;
                posicao += A.Width;
                //A.Click += button_Click;
                A.Click += new EventHandler(this.button_Click);
      
                //Valores de cada botão
                if (contador == AleatorioPartida) 
                { Terreno = 0; } else {
                
                if (contador == AleatorioAgua || contador == AleatorioAgua + 1 || contador == AleatorioAgua + 2
                  || contador == AleatorioAgua + 10 || contador == AleatorioAgua + 11 || contador == AleatorioAgua + 12)
                  { Terreno = 2; } else {

                if (contador == AleatorioMontanha || contador == AleatorioMontanha + 1 || contador == AleatorioMontanha + 2
                  || contador == AleatorioMontanha + 10 || contador == AleatorioMontanha + 11 || contador == AleatorioMontanha + 12
                  || contador == AleatorioMontanha + 20 || contador == AleatorioMontanha + 21 || contador == AleatorioMontanha + 22)
                  { Terreno = 3; } else {

                if (contador == AleatorioChegada) { Terreno = 4; } else { 
                
                { Terreno = 1; } } } } }

                //cor do ponto inicial do jogador
                if (Terreno == 0) { A.BackColor = Color.Yellow; A.Text = "Partida"; }

                //cor do terreno livre
                if( Terreno == 1 ) {A.BackColor = Color.Green;}

                //cor da água
                if( Terreno == 2 ) { A.BackColor = Color.Aquamarine; }

                //cor das montanhas
                if( Terreno == 3 ) { A.BackColor = Color.Maroon; }

                //cor do ponto de destino do jogador
                if (Terreno == 4) { A.BackColor = Color.FloralWhite; A.Text = "Chegada"; }

                //Botões descendo de linha e voltando pra primeira coluna=======================
                //Primeira linhha===============================================================
                if (contador < 10) { x = contador; }
                //Segunda linhha================================================================                                    
                if (contador == 10) { posicao = 0; }

                if (contador >= 10) { A.Left = posicao / 2; x = contador - 10;  y = 1; A.Top += 66; posicao += A.Width; }
                //Terceira linhha===============================================================
                if (contador == 20) { posicao = 0; }

                if (contador >= 20) { A.Left = posicao / 3; x = contador - 20; y = 2; A.Top += 66; posicao += A.Width; }
                //Quarta linhha=================================================================
                if (contador == 30) { posicao = 0; }

                if (contador >= 30) { A.Left = posicao / 4; x = contador - 30; y = 3; A.Top += 66; posicao += A.Width; }
                //Quinta linhha=================================================================
                if (contador == 40) { posicao = 0; }

                if (contador >= 40) { A.Left = posicao / 5; x = contador - 40; y = 4; A.Top += 66; posicao += A.Width; }
                //Secontadorta linhha==================================================================
                if (contador == 50) { posicao = 0; }

                if (contador >= 50) { A.Left = posicao / 6; x = contador - 50; y = 5; A.Top += 66; posicao += A.Width; }
                //Sétima linhha=================================================================
                if (contador == 60) { posicao = 0; }

                if (contador >= 60) { A.Left = posicao / 7; x = contador - 60; y = 6; A.Top += 66; posicao += A.Width; }
                //Oitava linhha=================================================================
                if (contador == 70) { posicao = 0; }

                if (contador >= 70) { A.Left = posicao / 8; x = contador - 70; y = 7; A.Top += 66; posicao += A.Width; }
                //Nona linhha===================================================================
                if (contador == 80) { posicao = 0; }

                if (contador >= 80) { A.Left = posicao / 9; x = contador - 80; y = 8; A.Top += 66; posicao += A.Width; }
                //Décima linha==================================================================
                if (contador == 90) { posicao = 0; }

                if (contador >= 90) { A.Left = posicao / 10; x = contador - 90; y = 9; A.Top += 66; posicao += A.Width; }

            }
   
        }

        //Botão mudar de cor ao ser clicado=============================================
        private void button_Click(object sender, EventArgs e)
        {
            Button A = (Button)sender;
            //int posicao = (int)sender;
            //int posicaodoamarelo = posicao;

            if(A.BackColor == Color.FloralWhite)
            { A.BackColor = Color.Yellow; MessageBox.Show("Parabéns"); }
            
            if (A.BackColor == Color.Green)
            { A.BackColor = Color.Yellow; }
            else
            {

            }
            return;
        }
    }


    class escrevendonoarquivo
    {
        static void chuchu()
        {
            string tamarindo = @"C:\Users\Vitoria Fernanda\Desktop";
            string batata = System.IO.Path.Combine(tamarindo, "vagem");
            Directory.CreateDirectory(batata);
            string arado = Path.GetRandomFileName();
            batata = Path.Combine(batata, arado);
            if (!System.IO.File.Exists(batata))
            {
                using (FileStream fs = File.Create(batata))
                {
                    for (byte i = 0; i < 100; i++)
                    {
                        fs.WriteByte(i);
                    }
                }
            }
            try
            {
                byte[] chuchuzinho = System.IO.File.ReadAllBytes(batata);
                foreach (byte b in chuchuzinho)
                {
                    Console.WriteLine(b);
                }
            }
            catch (IOException morango)
            {
                Console.WriteLine(morango.Message);
            }
            
            System.Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
            //string[] lines = { "abc", "def", "ghi" };
            //System.IO.File.WriteAllLines(@"C:\Users\Vitoria Fernanda\Desktop\WriteLines.txt", lines);
            
        }
    }
}

